# 字典类型：描述物品的相关信息
# key对应值,通常为字符串类型，在{}内用,分开多个key:value
# 一个键值对用冒号，多个键值对用逗号
info = {
    "name": 'renshuo',
    "age": 18
}
print(info['name'])

# 列表和字典嵌套，结合使用
student_info = [
    {"name": "renshuo0","age":210},
    {"name": "renshuo1", "age": 220},
    {"name": "renshuo2", "age": 230}
]
# 取到第一个字典的name值renshuo0
print(student_info[0]['name'])

# 每一个i都代表其中一个字典
for i in student_info:
    print(i)
    print(i['name'], i['age'])


# 字典是无序集合，输入输出可能不一致
ren = {
    "name": "renshuo",
    "age": 12,
    "grade": 76.3
}
print(ren)

# 取值,如果key不存在,会报错
print(ren['name'])

# 新增/修改 key存在则是修改，不存在则是新增
ren['feel'] = 'happy'
print(ren)

# 删除,如果key不存在,会报错
ren.pop('age')
print(ren)

# 长度
print(len(ren))

# 合并字典,如果被合并的字典已经包含存在的键值对，会覆盖原有的键值对
shuo = {"t1": 123}
ren.update(shuo)
print(ren)

# 清空字典 ren.clear()

# 循环遍历,k表示从字典中拿到的key,ren[k]表示value
for k in ren:
    print("%s - %s" % (k, ren[k]))

# 获取字典中所有的key和value
print(ren.keys())
print(ren.values())